package com.xuecheng.search.dto;

import com.xuecheng.base.model.PageResult;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author 勾新杰
 * @version 1.0
 * @description 搜索结果分页数据模型
 * @date 2025/1/26 16:04
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SearchPageResultDTO<T> extends PageResult<T> {

    /**
     * 大分类列表
     */
    private List<String> mtList;

    /**
     * 小分类列表
     */
    private List<String> stList;

    /**
     * 构造方法
     * @param items 数据列表
     * @param counts 总记录数
     * @param page 当前页码
     * @param pageSize 每页记录数
     */
    public SearchPageResultDTO(List<T> items, long counts, long page, long pageSize) {
        super(items, counts, page, pageSize);
    }

    /**
     * 构造方法
     * @param mtList 大分类列表
     * @param stList 小分类列表
     * @param items 数据列表
     * @param counts 总记录数
     * @param page 当前页码
     * @param pageSize 每页记录数
     */
    public SearchPageResultDTO(List<String> mtList, List<String> stList, List<T> items, long counts, long page, long pageSize){
        super(items, counts, page, pageSize);
        this.mtList = mtList;
        this.stList = stList;
    }
}
